home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 21 / AMIGAplus Sonderheft 21 (1999)(ICP)(DE)[!].iso / Service / AF Update-System V0.9 next >
Text File  |  1999-09-07  |  10KB  |  335 lines

  1. ;$VER: 1
  2. ;-) Copyright by Markus Castro.
  3.  
  4. failat 21
  5. ;Im Moment funktioniert der Which-Check nur, wenn C: KEIN ROOT ist, also nicht
  6. ; C:=Workbench:, sondern C: = Workbench:c/ <- wegen dem Schrägstrich
  7. if not exists ram:t
  8. makedir ram:t
  9. endif ;Siehste, so einfach geht das! :)
  10. ;assign guis: "" ;Damit der Gauge.gc nur hier sucht!
  11. assign vorher: ""
  12. cd c:
  13. set CDIR "`cd`"
  14. cd vorher:
  15. set whichcount 0 ;Anzahl der Programme im falschen Dir
  16. set WCount 12 ;Anzahl der zu prüfenden Tools, manuell eintragen! Gleich wie unten!
  17. set dir AFCD:c/
  18. setenv .val 0
  19.  
  20. set tool1 vt
  21. set tool2 fv
  22. set tool3 tv
  23. set tool4 Powerplayer
  24. set tool5 PLAY16
  25. set tool6 STP
  26. set tool7 MPEGA
  27. set tool8 PPMore
  28. set tool9 More
  29. set tool10 MuchMore
  30. set tool11 AmigaGuide
  31. set tool12 Installer
  32.  
  33. set updater 2 ;12*2*3 =72 +5 + 5+5+5+4+4
  34. Gui vorher:Gauge.gc ;Startet Anzeige
  35.  
  36.  
  37. set n 0
  38. lab Which-for
  39. if $n eq $Wcount ;FOR n=0 TO $WCount
  40. skip Which-Next
  41. endif
  42. set n `eval $n + 1`
  43. which `get tool$n` NORES >ENV:temp
  44. ;getenv temp >NIL: ;Stellt fest, ob temp leer ist
  45. ;if NOT Warn ;Funzt nicht, weil Which ein " " reinschreibt
  46. if NOT `list env:temp LFORMAT=%L` eq "empty"
  47. list "$temp" lformat=%F >ENV:tooldir$n
  48. striptease env:tooldir$n ENV:TEMP 1 END >nil:
  49. set tooldir$n `getenv temp`
  50. ;Entfernt "/"
  51. unsetenv temp
  52. endif
  53. get tooldir$n >NIL:
  54. if warn ;Tool nicht im Pfad gefunden
  55. set toolskip$n 0
  56. skip back Which-for
  57. endif
  58. if "$CDIR/" EQ "`get tooldir$n`"
  59. set toolskip$n 0
  60. set copytool$n " "
  61. else 
  62. set toolskip$n 1 ;Datei existiert, aber nicht in c:
  63. set whichcount `eval $whichcount + 1`
  64. set TempHurra `get tooldir$n`
  65. set copytool$n $temphurra`get tool$n` ;???
  66. endif
  67.  
  68. ;Start Gauge Update
  69. eval `getenv .val` + $updater >env:tempevil
  70. setenv .val $tempevil
  71. Gui vorher:sub.gc
  72. ;End Gauge Update
  73.  
  74. skip back Which-for ;NEXT
  75. lab Which-Next
  76.  
  77. if $whichcount NOT eq 0
  78. Echo >ram:Tempa "Text *"Warnung:*"*nText *"Um die reibungslose Funktion der AFuture CD zu gewährleisten  *"*nText *"werden gewisse Tools im C: Verzeichnis ihrer Festplatte benötigt.*"*nText *"$whichcount dieser Tools wurden in anderen Verzeichnissen ihrer *"*nText *"Festplatte lokalisiert. Für einen reibungslosen Ablauf wird *"*n"
  79. Echo >ram:Tempb "Text *"empfohlen, diese Programme nun nach $CDIR zu kopieren. *"*nText *"Sie können nun auch ohne Kopieren fortfahren.  *"*nText *"Sollten im Verlauf des Benutzens Fehler auftreten, sollten sie *"*nText *"aber dennoch folgende Tools nach $CDIR kopieren:  *"*nText *"$copytool1 $copytool2 $copytool3 $copytool4  $copytool5*"*nText *"$copytool6  $copytool7  $copytool8 $copytool9  $copytool10  $copytool11 $copytool12*"*n"
  80. join ram:tempa ram:tempb TO env:Afuturetxt
  81. delete ram:tempa >NIL:
  82. delete ram:tempb >nil:
  83. set copy `selector req.sel Kopieren Weiter`
  84.  
  85. if $copy eq 1
  86.     ;Kopierschleife
  87.  
  88.     set n 0
  89.     lab copystart
  90.     if $n eq $Wcount ;FOR n=0 TO $WCount
  91.         skip copyNext
  92.     endif
  93.     set n `eval $n + 1`
  94.     if `get toolskip$n` eq 1 VAL
  95.         set tempvar `get tooldir$n`
  96.         copy "$tempvar`get tool$n`" TO C:; quiet >NIL:
  97.  
  98.     endif
  99.     skip back copystart ;NEXT
  100.     lab copyNext
  101.     set n 0
  102.  
  103. endif
  104. endif
  105. ;Ende Teil 1
  106.  
  107. ;Begin Teil2
  108. set n 0
  109. set count 0
  110. set choice 0
  111.  
  112. ; Begin For-Next Hack ® by The Saint
  113. set n 0
  114. lab Check
  115. if $n eq $Wcount ;FOR n=0 TO $WCount
  116. skip CheckNext
  117. endif
  118. set n `eval $n + 1`
  119. if `get toolskip$n` NOT eq 1 VAL ;ToolNRx wird nur gecheckt, wenn nicht schon mit Which gefunden!
  120.  
  121. if not exists "c:`get tool$n`"
  122. ;set toolname1 VT ;Die Datei
  123. set count `eval $count + 1` ;Anzahl der Dateien
  124. set CopyMich$n 1
  125. set reqtool$n "`get tool$n`" ;Erscheint im Requester
  126. else
  127. set CopyMich$n 0
  128. set reqtool$n " "
  129. endif
  130. endif
  131.  
  132. ;Start Gauge Update
  133. eval `getenv .val` + $updater >env:tempevil
  134. setenv .val $tempevil
  135. Gui vorher:sub.gc
  136. ;End Gauge Update
  137.  
  138.  
  139. skip back Check ;NEXT
  140. lab CheckNext
  141. set n 0
  142.  
  143.  
  144.  
  145.  
  146. if $count NOT eq 0 VAL
  147. echo >Env:AFuturetxt "Text *"Warnung:*"*nText *"Auf ihrem Rechner fehlen $count Programm(e) im C:*"*nText *"Verzeichnis. Diese Programme werden für einen*"*nText *"reibungslosen Ablauf der AFuture CD dringend*"*nText *"empfohlen. Folgende Komponenten sind nicht vorhanden:*"*nText *"$reqtool1 $Reqtool2 $Reqtool3 $Reqtool4 $Reqtool5*"*nText *"$Reqtool6 $Reqtool7 $Reqtool8 $Reqtool9 $Reqtool10 $Reqtool11 $reqtool12*"*nText *"Wir empfehlen dringend diese nun zu installieren!*"*n"
  148. set choice `selector req.sel Installieren Weiter`
  149. endif
  150.  
  151. if $choice eq 1
  152. skip proceed
  153. else
  154. skip cancel
  155. endif
  156.  
  157. lab proceed
  158. ; Begin For-Next Hack ® by The Saint
  159. set n 0
  160. lab for
  161. if $n eq $Wcount ;FOR n=0 TO $WCount
  162. skip Next
  163. endif
  164. set n `eval $n + 1`
  165. if `get toolskip$n` NOT eq 1 VAL ;Nur kopieren, wenn nicht schon per Which gefragt
  166. if `get copymich$n` EQ 1 VAL ;Nur kopieren, wenn nicht da
  167. copy $dir`get tool$n` TO C: quiet >NIL: ;Kopiert automatisch alle Tools nach C:
  168. endif
  169. endif
  170. skip back for ;NEXT
  171. lab Next
  172. set n 0
  173.  
  174. lab cancel
  175.  
  176. ;Ende Teil 2
  177. ;Anfang Teil 3
  178.  
  179. ;Versionchecker - Main Part, Idea by Higgins
  180. set VCount 0 
  181. set n 0
  182. lab Versionfor
  183. if $n eq $Wcount ;FOR n=0 TO $WCount
  184. skip VersionNext
  185. endif
  186. set n `eval $n + 1`
  187. if exists CDIR/`get tool$N`
  188. version $dir`get tool$n` >env:AFVersion$n
  189. Version $cdir/`get tool$n` >env:CVersion$n
  190. set Alpha `getenv AFVersion$n`
  191. set beta `getenv CVersion$n` ;Mir gehen langsam die Namen für die Variablen aus...
  192. IF "$beta" NOT EQ "$Alpha"
  193. set VersionSkip$n 1 ;Version in C: zu alt?
  194. set VCount `eval $vcount + 1`
  195. Echo >ENV:Afuturetxt "Text *"Warnung:*"*nText *"Beim überprüfen ihrer Festplatte wurde ein*"*nText *"evtl. veraltetes Tool gefunden.*"*nText *"Name: `get tool$n`*"*nText *"Ihre Version: $Alpha*"*nText *"Empfohlene Version: $beta*""
  196. set update `Selector req.sel Update Weiter`
  197. if$ update eq 1
  198. copy $dir`get tool$n` $CDIR
  199. endif
  200. endif
  201. endif
  202.  
  203. ;Start Gauge Update
  204. eval `getenv .val` + $updater >env:tempevil
  205. setenv .val $tempevil
  206. Gui vorher:sub.gc
  207. ;End Gauge Update
  208.  
  209.  
  210. skip back Versionfor ;NEXT
  211. lab VersionNext
  212. set n 0
  213.  
  214. ;Ende Teil 3
  215. ;Begin Spezial Tool Check
  216. ;-( Ab hier schlampig gescriptet! No Time! )-;
  217. ;Libs:Rtgmaster.library
  218.  
  219. set nope 0; Default
  220. If not exists Libs:Rtgmaster.library
  221. set nope 1
  222. set libsrtgversion "Keine!"
  223. ELSE
  224. set FutureRtgVersion `version AFCD:libs/rtgmaster.library`
  225. set libsrtgversion `version libs:rtgmaster.library`
  226. if "$libsrtgversion" NOT EQ "$FutureRtgVersion"
  227. set nope 1
  228. endif
  229. endif
  230.  
  231. If $Nope eq 1
  232. Echo >ENV:Afuturetxt "Text *"Warnung:*"*nText *"Entweder haben sie RTG nicht installiert,*"*nText *"oder sie verwenden evtl. eine veraltete Version.*"*nSpace*nText *"RTG wird von einigen Spielen benötigt, um*"*nText *"korrekt zu laufen. Wir empfehlen ihnen dringend, es *"*nText *"nun zu installieren!*"*nText *"Empfohlene Version: $FutureRTGVersion*"*nText *"Installierte Version: $LibsRTGVersion*"*n"
  233. set rtgcopy `Selector req.sel Installieren Weiter`
  234. if $rtgcopy eq 1
  235. Echo "Hier RTG Installer starten"
  236. endif
  237. endif
  238.  
  239. ;Start Gauge Update
  240. eval `getenv .val` + 7 >env:tempevil
  241. setenv .val $tempevil
  242. Gui vorher:sub.gc
  243. ;End Gauge Update
  244.  
  245. ;Start AHI-Check
  246.  
  247. set nope 0; Default
  248. If not exists DEVS:Ahi.device
  249. set nope 1
  250. set libsahiversion "Keine!"
  251. ELSE
  252. set FutureahiVersion `version AFCD:devs/ahi.device`
  253. set libsahiversion `version devs:ahi.device`
  254. if "$libsahiversion" NOT EQ "$FutureAhiVersion"
  255. set nope 1
  256. endif
  257. endif
  258.  
  259. If $Nope eq 1
  260. Echo >ENV:Afuturetxt "Text *"Warnung:*"*nText *"Entweder haben sie AHI nicht installiert,*"*nText *"oder sie verwenden evtl. eine veraltete Version.*"*nSpace*nText *"AHI wird von einigen Spielen benötigt, um*"*nText *"korrekt zu laufen. Wir empfehlen ihnen dringend, es *"*nText *"nun zu installieren!*"*nText *"Empfohlene Version: $FutureRTGVersion*"*nText *"Installierte Version: $LibsAHIVersion*"*n"
  261. set ahicopy `Selector req.sel Installieren Weiter`
  262. if $ahicopy eq 1
  263. Echo "Hier AHI Installer Starten"
  264. endif
  265. endif
  266.  
  267. ;Start Reqtools Check
  268.  
  269. ;Start Gauge Update
  270. eval `getenv .val` + 7 >env:tempevil
  271. setenv .val $tempevil
  272. Gui vorher:sub.gc
  273. ;End Gauge Update
  274.  
  275. set nope 0; Default
  276. If not exists Libs:reqtools.library
  277. set nope 1
  278. set libsreqversion "Keine!"
  279. ELSE
  280. set FutureReqVersion `version AFCD:libs/reqtools.library`
  281. set libsreqversion `version libs:reqtools.library`
  282. if "$libsreqversion" NOT EQ "$FuturereqVersion"
  283. set nope 1
  284. endif
  285. endif
  286.  
  287. If $Nope eq 1
  288. Echo >ENV:Afuturetxt "Text *"Warnung:*"*nText *"Entweder haben sie die Reqtools Library nicht installiert,*"*nText *"oder sie verwenden evtl. eine veraltete Version.*"*nSpace*nText *"Reqtools wird von vielen Programmen benötigt, um*"*nText *"korrekt zu laufen. Wir empfehlen ihnen dringend, sie *"*nText *"nun zu installieren!*"*nText *"Empfohlene Version: $FutureReqVersion*"*nText *"Installierte Version: $LibsREQVersion*"*n"
  289. set rtgcopy `Selector req.sel Installieren Weiter`
  290. if $rtgcopy eq 1
  291. Copy AFCD:libs/reqtools.library libs: ;Wird eigentlich keine Installation gebraucht
  292. endif
  293. endif
  294.  
  295. ;Start Gauge Update
  296. eval `getenv .val` + 7 >env:tempevil
  297. setenv .val $tempevil
  298. Gui vorher:sub.gc
  299. ;End Gauge Update
  300.  
  301. ;Start MPEGA Check
  302.  
  303. set nope 0; Default
  304. if not exists libs:mpega.library
  305. set nope 1
  306. set libsmpgversion "Keine!"
  307. ELSE
  308. set FuturempgVersion `version AFCD:libs/mpega.library`
  309. set libsmpgversion `version libs:mpega.library`
  310. if "$libsmpgversion" NOT EQ "$FutureMPGVersion"
  311. set nope 1
  312. endif
  313. endif
  314.  
  315. If $Nope eq 1
  316. Echo >ENV:Afuturetxt "Text *"Warnung:*"*nText *"Entweder haben sie die MPEGA Library nicht installiert,*"*nText *"oder sie verwenden evtl. eine veraltete Version.*"*nSpace*nText *" Die Mpeg Audio Library wird benötigt, um*"*nText *"die MP3 Songs abzuspielen. Wir empfehlen ihnen dringend, sie *"*nText *"nun zu installieren!*"*nText *"Empfohlene Version: $FutureMPGVersion*"*nText *"Installierte Version: $LibsMPGVersion*"*n"
  317. set rtgcopy `Selector req.sel Installieren Weiter`
  318. if $rtgcopy eq 1
  319. copy AFCD:c/mpega.library libs:
  320. endif
  321. endif
  322.  
  323. ;Start Gauge Update
  324. eval `getenv .val` + 7 >env:tempevil
  325. setenv .val $tempevil
  326. Gui vorher:sub.gc
  327. ;End Gauge Update
  328.  
  329.  
  330.  
  331. wait 1
  332. ;MUI
  333. ;Check für, wenn exists Vars setzen, damit Programme defaults bekommen:
  334. ;ppc.library/powerpc.library/cybergraphics/p96/
  335. Gui vorher:exit.gc